Skip to content

feat(cli): add local_smtp config#5333

Merged
jgoux merged 8 commits into
supabase:developfrom
7ttp:feat/phase-1
Jun 23, 2026
Merged

feat(cli): add local_smtp config#5333
jgoux merged 8 commits into
supabase:developfrom
7ttp:feat/phase-1

Conversation

@7ttp

@7ttp 7ttp commented May 21, 2026

Copy link
Copy Markdown
Contributor

TL;DR

adds local_smtp as the new preferred config key, keeps inbucket valid with a deprecation warning and updates the default template to use local_smtp

what's introduced:

local_smtp is now the preferred config/schema key, while existing
inbucket configs continue to work for now....

why

basically this moves the config away from an implementation specific name without breaking existing setups in phase 1 :)

ref

@7ttp 7ttp requested a review from a team as a code owner May 21, 2026 20:02
@coveralls

coveralls commented May 21, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 26896254154

Warning

No base build found for commit 221d758 on develop.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 63.922%

Details

  • Patch coverage: No coverable lines changed in this PR.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 15799
Covered Lines: 10099
Line Coverage: 63.92%
Coverage Strength: 7.09 hits per line

💛 - Coveralls

@7ttp 7ttp self-assigned this May 21, 2026
@7ttp

7ttp commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

@7ttp 7ttp marked this pull request as draft June 3, 2026 15:11
@7ttp 7ttp marked this pull request as ready for review June 3, 2026 15:37
@jgoux jgoux marked this pull request as draft June 23, 2026 13:05
jgoux and others added 3 commits June 23, 2026 15:05
Strengthen the inbucket -> local_smtp backward-compat normalization across
both the Go and TypeScript config loaders:

- Go: only rebuild the viper when an inbucket section is actually present,
  and preserve the env-binding options (ExperimentalBindStruct, AutomaticEnv,
  SUPABASE prefix, env key replacer) on the rebuilt instance so env overrides
  are not silently dropped.
- Go: deep-merge a deprecated [inbucket] section over the [local_smtp]
  template defaults instead of wholesale replacement, so a partial section
  keeps the defaults it omits (e.g. enabled = true).
- TS: emit a deprecation warning on stderr (matching Go) when [inbucket] or
  [remotes.*.inbucket] is used, without polluting machine-readable stdout.
- Add back-compat tests on both sides covering inbucket-only, partial
  inbucket, local_smtp precedence, remotes normalization, and warnings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rename the `inbucket` property to `local_smtp` in the published JSON schema
(top-level and the [remotes.*] copy) so editors validating config.toml against
https://supabase.com/docs/cli/config.schema.json recognize the new section
key. Mirrors the inbucket -> local_smtp rename in packages/config; the inner
schema and descriptions are unchanged, matching the source of truth.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@jgoux jgoux marked this pull request as ready for review June 23, 2026 13:58
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

The local email server is Mailpit, so the user-facing schema description and
documentation link no longer reference the now-renamed "Inbucket". Update the
section description to "Enable the local SMTP testing server." and point the
link at the Mailpit docs, in both packages/config and the published schema.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@jgoux jgoux added this pull request to the merge queue Jun 23, 2026
Merged via the queue into supabase:develop with commit 1bf3611 Jun 23, 2026
28 checks passed
pull Bot pushed a commit to oogalieboogalie/cli that referenced this pull request Jun 24, 2026
…e#5664)

Follow-up to supabase#5333 (the `inbucket` → `local_smtp` config rename).

Strengthens the config-schema unit test so the deprecated implementation
name cannot creep back into the published schema: the assertion now
checks the generated schema case-insensitively
(`schemaString.toLowerCase()`), covering descriptions as well as keys —
not just the lowercase `inbucket` substring.

supabase#5333 already removed the last user-facing `inbucket` references (the
section key, plus the schema descriptions/link which now point at the
actual local tool, Mailpit). This test makes that invariant durable.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@7ttp 7ttp deleted the feat/phase-1 branch June 29, 2026 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update old references to Inbucket with Mailpit

3 participants